//
//  KunRecordListVC.swift
//  KunLanCamera
//
//  Created by 李东 on 2024/3/23.
//

import UIKit
import SnapKit

class KunRecordListVC: KunBaseVC {
    
    var tableView: UITableView!
    var editBtn: UIButton!
    let CellID = "cellId"
    
    
    override func viewDidLoad() {
        super.viewDidLoad()

        hideNavgaitionBar()
        showBgImgView = true
        showPopBtn = true
        initUI()
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        tableView.reloadData()
    }
    
    func initUI()  {
        editBtn = UIButton()
        editBtn.setImage(UIImage(named: "img_edit"), for: .normal)
        editBtn.addTarget(self, action: #selector(editHandle), for: .touchUpInside)
        view.addSubview(editBtn)
        editBtn.snp.makeConstraints { make in
            make.centerY.equalTo(popBtn)
            make.size.equalTo(popBtn)
            make.right.equalTo(-15)
        }
        
        tableView = UITableView(frame: .zero, style: .grouped)
        tableView.backgroundColor = .clear
        tableView.separatorStyle = .none
        tableView.delegate = self
        tableView.dataSource = self
        tableView.rowHeight = UITableView.automaticDimension
        tableView.estimatedRowHeight = 100
        tableView.register(UINib(nibName: "KunListCell", bundle: nil), forCellReuseIdentifier: CellID)
        tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: CGFloat.screenWidth, height: 0.01))
        view.addSubview(tableView)
        tableView.snp.makeConstraints { make in
            make.left.right.bottom.equalToSuperview()
            make.top.equalTo(CGFloat.navHeight+20)
        }
    }

    @objc func editHandle() {
        navigationController?.pushViewController(KunRecordDetailVC(), animated: true)
    }
   

}

extension KunRecordListVC: UITableViewDelegate, UITableViewDataSource {
    func numberOfSections(in tableView: UITableView) -> Int {
        1
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        KunDataHelper.shared.getLocalList().count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: CellID, for: indexPath) as! KunListCell
        cell.model = KunDataHelper.shared.getLocalList()[indexPath.row]
        return cell
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        navigationController?.pushViewController(KunRecordDetailVC(model: KunDataHelper.shared.getLocalList()[indexPath.row]), animated: true)
    }
    
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        return nil
    }
    
    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        return nil
    }
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        0.01
    }
    
    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        0.01
    }
}
